/**
 * 查询断电后通电状态命令类
 */
import BaseCommand from './baseCommand';

class QueryPowerOnStateCommand extends BaseCommand {
  static CMD = 0x10;  // 命令类型：查询断电后通电状态

  /**
   * 创建查询命令
   * @returns {Uint8Array} 命令帧
   */
  static createQuery() {
    console.log('[查询断电后通电] 创建命令');
    return this.packFrame(this.CMD);
  }

  /**
   * 解析响应数据
   * @param {Uint8Array} frame - 完整的响应帧
   * @returns {Object|null} 解析结果
   */
  static parseResponse(frame) {
    console.log('[查询断电后通电] 开始解析响应');
    
    const baseResult = this.parseBaseFrame(frame);
    if (!baseResult) return null;

    if (baseResult.cmd !== this.CMD) {
      console.warn('[查询断电后通电] 命令类型不匹配');
      return null;
    }

    if (baseResult.data.length < 1) {
      console.warn('[查询断电后通电] 数据长度不正确');
      return null;
    }

    const state = baseResult.data[0];  // 0:记忆, 1:开启, 2:关闭
    console.log('[查询断电后通电] 解析成功, 状态:', state);
    return { state };
  }
}

export default QueryPowerOnStateCommand; 